--[[
描述 ： 九宫格控件
作者 ： 付大志
时间 ： 15/11/08
]]

UIGrid = Class(MLView,'UIGrid');

UIGrid.mWidth 				= nil;     	-- 宽度
UIGrid.mHeight 				= nil;     	-- 高度

-- cell 属性
UIGrid.num         = nil       -- 总数
UIGrid.row         = nil       -- 列数
UIGrid.arrays            = nil;   -- 排

UIGrid.cellWidth         = nil;      -- 宽度
UIGrid.cellHeight        = nil;      -- 高度
UIGrid.cellInterval        = nil;    -- 间隔
--[[
功能   ： 初始化 宫格 控件
参数   ： w     		宽度
	     h     		高度
	     num      总数
	     row      列数
	     imgWidth 图片宽度
	     viewCtrl	所在Ctrl
	     id			控件id
返回   ： UIGrid 实例
]]

function UIGrid:init(width, height, num ,row, imgWidth, viewCtrl, id)

  width  = width or UITheme.BUTTON_WIDTH;
  height = height or UITheme.BUTTON_HEIGHT;

  self.vc = viewCtrl
  -- 初始化
  self:initView(width, height, viewCtrl, id);

  self.num = num;
  self.mWidth = width;
  self.mHeight = height;
  self.itemImgWidth = imgWidth;
  self.cellWidth =  width/row;
  self.rowNum = row;
  self.cellHeight =   self.cellWidth ;
  self.cellbgColor =   0xffffff ;
  self.cellfocusColor =  0x888888 ;
  self.cellfontHeight =   AW(12) ;
  self.arrays ={};

  for i=1, num do
    local j = i-1;
    local cell = UIGridCell.new():init(self.cellHeight,self.cellHeight,imgWidth, viewCtrl);
    cell.bgColor = self.cellbgColor;
    cell.focusColor = self.cellfocusColor;
    cell.index  = i;
    cell.fontHeight = self.cellfontHeight
    cell.grid = self;
    self.arrays[i]=cell;
    local y = self:getIntPart(j / row)
    y =  (y)*self.cellWidth
    local x = (j % row)
    x= x*self.cellWidth;
    self:add(cell,x,y)
  end

  return self;
end

--[[
功能   ： 设置单元格图片
参数   ： arg 图片
返回   ： 无
]]
function UIGrid:setCellImgs(...)
  for  i=1, #arg do
    self.arrays[i].icon =arg[i] ;
  end
end

--[[
功能   ： 设置单元格文字
参数   ： arg 文字
返回   ： 无
]]
function UIGrid:setCellTexts(...)
  for  i =1, #arg do
    self.arrays[i].text =arg[i] ;
  end
end

--[[
功能   ： 画控件
参数   ： 无
返回   ： 无
]]
function UIGrid:draw()
  self:setColor(0xffffff);

  for  i =1, #self.arrays do
    self.arrays[i]:draw();
  end

end

--[[
功能   ： 显示控件
参数   ： 无
返回   ： 无
]]
function UIGrid:show()
  self:draw();
end

--[[
功能   ： 更新控件
参数   ： 无
返回   ： 无
]]
function UIGrid:update()
  self:draw();
end

--[[
功能   ： 点击事件
参数   ： index  ： 索引
返回   ： 无
]]
function UIGrid:onClick(index)
end

function UIGrid:getIntPart(x)
  if x <= 0 then
    return math.ceil(x);
  end

  if math.ceil(x) == x then
    x = math.ceil(x);
  else
    x = math.ceil(x) - 1;
  end
  return x;
end

--[[
   --控件使用
   local grid =  UIGrid.new():init(AW(320),AW( 480), 9 ,3, AW(50), self,"grid");
   grid:setCellImgs("qq.png","qq.png","qq.png","qq.png","qq.png","qq.png","qq.png","qq.png","qq.png");
   grid:setCellTexts("1","2","3","4","5","6","7","8","9");
   grid.onClick= function (index)
        print('rrrr',index)
   end
   rootView:add(grid,0,0 )
]]

